{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## REPORT ：服装图像分类\n",
    "\n",
    "### 姓名：黄红亮 \n",
    "\n",
    "### 学号：2021260165"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "FbVhjPpzn6BM"
   },
   "source": [
    "### 任务简介：\n",
    "\n",
    "通过神经网络模型，对服装图像进行分类。本次报告用到的FashionMNIST是一个手写数字集的图像数据集。该数据库来自于德国一家科技公司，涵盖范围较广。\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 数据\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "t10k-images.npy ：训练集数据，60000个28x28的矩阵，可以将其表示为灰度图片，亦即图片的维度为28 * 28=784维。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "t10k-labels.npy ：训练集数据的标签值，即包含60000个的灰度图片的标签值（1-10）。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "train-images.npy：测试集数据，包含10000个28x28的矩阵，可以将其表示为灰度图片，亦即图片的维度为28 * 28=784维。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "train-labels.npy：测试集数据的标签值，即包含10000个的灰度图片的标签值（1-10）。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 目标"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "深度学习神经网络建模，实现服装分类。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "编写爬虫程序，到taobao等网站抓取一些衣服、鞋子的图片，并利用训练好的模型进行分类。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "分析结果的效果，综合考虑各种方法，改进方法，并提交结果。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 解决途径"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "使用了 [tf.keras]，它是 TensorFlow 中用来构建和训练模型的高级 API。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2020-09-22T22:12:49.312311Z",
     "iopub.status.busy": "2020-09-22T22:12:49.311605Z",
     "iopub.status.idle": "2020-09-22T22:12:55.814753Z",
     "shell.execute_reply": "2020-09-22T22:12:55.815292Z"
    },
    "id": "dzLKpmZICaWN"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2.7.0\n"
     ]
    }
   ],
   "source": [
    "# TensorFlow and tf.keras\n",
    "import tensorflow as tf\n",
    "from tensorflow import keras\n",
    "\n",
    "# Helper libraries\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "print(tf.__version__)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "yR0EdgrLCaWR"
   },
   "source": [
    "## 导入 Fashion MNIST 数据集"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "DLdCchMdCaWQ"
   },
   "source": [
    "使用 [Fashion MNIST]数据集，该数据集包含 10 个类别的 70,000 个灰度图像。这些图像以低分辨率（28x28 像素）展示了单件衣物，如下所示：\n",
    "\n",
    "<table>\n",
    "  <tr><td>     <img alt=\"Fashion MNIST sprite\" src=\"https://tensorflow.google.cn/images/fashion-mnist-sprite.png\" class=\"\"> </td></tr>\n",
    "  <tr><td align=\"center\">     <b>图 1.</b>  <a href=\"https://github.com/zalandoresearch/fashion-mnist\">Fashion-MNIST 样本</a>（由 Zalando 提供，MIT 许可）。<br>\n",
    "</td></tr>\n",
    "</table>\n",
    "\n",
    "使用 Fashion MNIST 来实现多样化，它比常规 MNIST 更具挑战性。这两个数据集都相对较小，都用于验证某个算法是否按预期工作。对于代码的测试和调试，它们都是很好的起点。\n",
    "\n",
    "我使用 60,000 个图像来训练神经网络，并使用 10,000 个图像来评估网络学习对图像分类的准确率。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2020-09-22T22:12:55.820189Z",
     "iopub.status.busy": "2020-09-22T22:12:55.819498Z",
     "iopub.status.idle": "2020-09-22T22:12:56.283761Z",
     "shell.execute_reply": "2020-09-22T22:12:56.283153Z"
    },
    "id": "7MqDQO0KCaWS"
   },
   "outputs": [],
   "source": [
    "fashion_mnist = keras.datasets.fashion_mnist\n",
    "\n",
    "(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "t9FDsUlxCaWW"
   },
   "source": [
    "加载数据集会返回四个 NumPy 数组：\n",
    "\n",
    "- `train_images` 和 `train_labels` 数组是*训练集*，即模型用于学习的数据。\n",
    "- *测试集*、`test_images` 和 `test_labels` 数组会被用来对模型进行测试。\n",
    "\n",
    "图像是 28x28 的 NumPy 数组，像素值介于 0 到 255 之间。*标签*是整数数组，介于 0 到 9 之间。这些标签对应于图像所代表的服装*类*：\n",
    "\n",
    "<table>\n",
    "  <tr>\n",
    "    <th>标签</th>\n",
    "    <th>类</th>\n",
    "  </tr>\n",
    "  <tr>\n",
    "    <td>0</td>\n",
    "    <td>T恤/上衣</td>\n",
    "  </tr>\n",
    "  <tr>\n",
    "    <td>1</td>\n",
    "    <td>裤子</td>\n",
    "  </tr>\n",
    "    <tr>\n",
    "    <td>2</td>\n",
    "    <td>套头衫</td>\n",
    "  </tr>\n",
    "    <tr>\n",
    "    <td>3</td>\n",
    "    <td>连衣裙</td>\n",
    "  </tr>\n",
    "    <tr>\n",
    "    <td>4</td>\n",
    "    <td>外套</td>\n",
    "  </tr>\n",
    "    <tr>\n",
    "    <td>5</td>\n",
    "    <td>凉鞋</td>\n",
    "  </tr>\n",
    "    <tr>\n",
    "    <td>6</td>\n",
    "    <td>衬衫</td>\n",
    "  </tr>\n",
    "    <tr>\n",
    "    <td>7</td>\n",
    "    <td>运动鞋</td>\n",
    "  </tr>\n",
    "    <tr>\n",
    "    <td>8</td>\n",
    "    <td>包</td>\n",
    "  </tr>\n",
    "    <tr>\n",
    "    <td>9</td>\n",
    "    <td>短靴</td>\n",
    "  </tr>\n",
    "</table>\n",
    "\n",
    "每个图像都会被映射到一个标签。由于数据集不包括*类名称*，请将它们存储在下方，供稍后绘制图像时使用："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2020-09-22T22:12:56.288340Z",
     "iopub.status.busy": "2020-09-22T22:12:56.287704Z",
     "iopub.status.idle": "2020-09-22T22:12:56.289907Z",
     "shell.execute_reply": "2020-09-22T22:12:56.289413Z"
    },
    "id": "IjnLH5S2CaWx"
   },
   "outputs": [],
   "source": [
    "class_names = ['T-shirt/top', 'Trouser', 'Pullover', 'Dress', 'Coat',\n",
    "               'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle boot']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "Brm0b_KACaWX"
   },
   "source": [
    "## 浏览数据\n",
    "\n",
    "在训练模型之前，先浏览一下数据集的格式。以下代码显示训练集中有 60,000 个图像，每个图像由 28 x 28 的像素表示："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2020-09-22T22:12:56.295189Z",
     "iopub.status.busy": "2020-09-22T22:12:56.294517Z",
     "iopub.status.idle": "2020-09-22T22:12:56.297773Z",
     "shell.execute_reply": "2020-09-22T22:12:56.298300Z"
    },
    "id": "zW5k_xz1CaWX"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(60000, 28, 28)"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_images.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "cIAcvQqMCaWf"
   },
   "source": [
    "同样，训练集中有 60,000 个标签："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2020-09-22T22:12:56.302497Z",
     "iopub.status.busy": "2020-09-22T22:12:56.301789Z",
     "iopub.status.idle": "2020-09-22T22:12:56.304033Z",
     "shell.execute_reply": "2020-09-22T22:12:56.304547Z"
    },
    "id": "TRFYHB2mCaWb"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "60000"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(train_labels)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "YSlYxFuRCaWk"
   },
   "source": [
    "每个标签都是一个 0 到 9 之间的整数："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2020-09-22T22:12:56.308876Z",
     "iopub.status.busy": "2020-09-22T22:12:56.308181Z",
     "iopub.status.idle": "2020-09-22T22:12:56.310542Z",
     "shell.execute_reply": "2020-09-22T22:12:56.310977Z"
    },
    "id": "XKnCTHz4CaWg"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([9, 0, 0, ..., 3, 0, 5], dtype=uint8)"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_labels"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "TMPI88iZpO2T"
   },
   "source": [
    "测试集中有 10,000 个图像。同样，每个图像都由 28x28 个像素表示："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2020-09-22T22:12:56.315021Z",
     "iopub.status.busy": "2020-09-22T22:12:56.314346Z",
     "iopub.status.idle": "2020-09-22T22:12:56.316762Z",
     "shell.execute_reply": "2020-09-22T22:12:56.317164Z"
    },
    "id": "2KFnYlcwCaWl"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(10000, 28, 28)"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_images.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "rd0A0Iu0CaWq"
   },
   "source": [
    "测试集包含 10,000 个图像标签："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2020-09-22T22:12:56.321078Z",
     "iopub.status.busy": "2020-09-22T22:12:56.320412Z",
     "iopub.status.idle": "2020-09-22T22:12:56.322818Z",
     "shell.execute_reply": "2020-09-22T22:12:56.323300Z"
    },
    "id": "iJmPr5-ACaWn"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "10000"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(test_labels)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "ES6uQoLKCaWr"
   },
   "source": [
    "## 预处理数据\n",
    "\n",
    "在训练网络之前，必须对数据进行预处理。如果检查训练集中的第一个图像，则像素值处于 0 到 255 之间："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2020-09-22T22:12:56.334794Z",
     "iopub.status.busy": "2020-09-22T22:12:56.334020Z",
     "iopub.status.idle": "2020-09-22T22:12:56.520824Z",
     "shell.execute_reply": "2020-09-22T22:12:56.521240Z"
    },
    "id": "m4VEw8Ud9Quh"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure()\n",
    "plt.imshow(train_images[0])\n",
    "plt.colorbar()\n",
    "plt.grid(False)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "Wz7l27Lz9S1P"
   },
   "source": [
    "将这些值缩小至 0 到 1 之间，然后将其馈送到神经网络模型。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2020-09-22T22:12:56.525587Z",
     "iopub.status.busy": "2020-09-22T22:12:56.524939Z",
     "iopub.status.idle": "2020-09-22T22:12:56.682643Z",
     "shell.execute_reply": "2020-09-22T22:12:56.681894Z"
    },
    "id": "bW5WzIPlCaWv"
   },
   "outputs": [],
   "source": [
    "train_images = train_images / 255.0\n",
    "\n",
    "test_images = test_images / 255.0"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "Ee638AlnCaWz"
   },
   "source": [
    "为了验证数据的格式是否正确，这里显示*训练集*中的前 25 个图像，并在每个图像下方显示类名称。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2020-09-22T22:12:56.697981Z",
     "iopub.status.busy": "2020-09-22T22:12:56.693716Z",
     "iopub.status.idle": "2020-09-22T22:12:57.556376Z",
     "shell.execute_reply": "2020-09-22T22:12:57.556950Z"
    },
    "id": "oZTImqg_CaW1"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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PffUfN3LW5/4xCeiPXPmzMJjs7w1dOjQaE+ePDlpx/fU4Ycfnuzr379/zXPyJRFE/cyePTvZnjt3brRV7kEIsbzI0yOEEEKIUqCHHiGEEEKUgjaXt1588cVk++Mf/3i0WSLyUhJLB77iMVfh5ff57C2Wrfiz+HUglc94MVIvU3B2Ue/evaPtK/XyefTo0SPZx7JKr169UHa4b1mq9LBUxVWzx48fn7Tr3r17tPne8NmBe+65Z7RZQjn66KOTdj//+c8Lz6leaU7kue6666J95plnJvv233//aLOUOXjw4DY9p6uvvjram222WbJv++23b9PPFkK0HfL0CCGEEKIU6KFHCCGEEKVADz1CCCGEKAVtHtPz6quvJtscC/P6669H+7777kvafeELX4j2BhtskOzjOCFeIZvjcYDiCr8+doTbccq6b7fuuutGm2NJ/CraW265ZbS5AjUAPPnkk9FWTE9xevf999+fbM+fPz/aHM/h769FixZFm8se+ArMXEH5mWeeiTb3nWg+XJKCx4Uv3fCtb32r5r6BAwcm7aZMmRLtk046Kdrjxo2r63x8nN+f//znaC9YsCDZxyU01lhjjWj7+aerkivRkeOiiy6K9rbbbhttni+BdM7kuW/IkCFJuz59+tT1ufVyzjnnRHvQoEHJvkMOOaRVP0s0PvL0CCGEEKIU6KFHCCGEEKWgzeUtLytwNWWusuvbTZo0Kdq77757so9d3pzG6uUsdrVzmrqv3MySFldu9qnonEbPVZj/85//JO34GBtuuGGy77HHHov2brvthrJT5ELnlGEgdb1zf/mSACxxFlXa9u2YI488Mtn+zne+E+1f//rXheeu9PUKRYutLly4MNnmhWEHDBgQ7ZwkwnOEvz/22muvaN9yyy3RHjVqVNKOJSw//o4//vhot3VKfCPiS4MUlZC48847k+3Pfe5z0WbZyl97rnbO8+fFF1+ctGOJc7vttos2L/ALpFK0r+R91113RXvOnDnR5v4HJG/Vix/XfA9wf2288caF72uUeVGeHiGEEEKUAj30CCGEEKIU6KFHCCGEEKWgzWN6vvSlLyXbvAr2a6+9Fm1OewTS1FJO8waAVVZZJdocx+NjdThllpea8PokH4O1Zo4/AoCHH3442lw638d6cArupZdemuzjZTjKiI8bKEpZHzNmTLLNsTt8fXlJCiDt56KS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",
      "text/plain": [
       "<Figure size 720x720 with 25 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(10,10))\n",
    "for i in range(25):\n",
    "    plt.subplot(5,5,i+1)\n",
    "    plt.xticks([])\n",
    "    plt.yticks([])\n",
    "    plt.grid(False)\n",
    "    plt.imshow(train_images[i], cmap=plt.cm.binary)\n",
    "    plt.xlabel(class_names[train_labels[i]])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "59veuiEZCaW4"
   },
   "source": [
    "## 构建模型\n",
    "\n",
    "先配置模型的层，然后再编译模型。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "Gxg1XGm0eOBy"
   },
   "source": [
    "### 设置层\n",
    "\n",
    "神经网络的基本组成部分是*层*。层会从向其馈送的数据中提取表示形式。\n",
    "\n",
    "大多数深度学习都包括将简单的层链接在一起。大多数层（如 `tf.keras.layers.Dense`）都具有在训练期间才会学习的参数。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2020-09-22T22:12:57.562382Z",
     "iopub.status.busy": "2020-09-22T22:12:57.561665Z",
     "iopub.status.idle": "2020-09-22T22:12:59.292527Z",
     "shell.execute_reply": "2020-09-22T22:12:59.293004Z"
    },
    "id": "9ODch-OFCaW4"
   },
   "outputs": [],
   "source": [
    "model = keras.Sequential([\n",
    "    keras.layers.Flatten(input_shape=(28, 28)),\n",
    "    keras.layers.Dense(128, activation='relu'),\n",
    "    keras.layers.Dense(10)\n",
    "])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "gut8A_7rCaW6"
   },
   "source": [
    "该网络的第一层 `tf.keras.layers.Flatten` 将图像格式从二维数组（28 x 28 像素）转换成一维数组（28 x 28 = 784 像素）。将该层视为图像中未堆叠的像素行并将其排列起来。该层没有要学习的参数，它只会重新格式化数据。\n",
    "\n",
    "展平像素后，网络会包括两个 `tf.keras.layers.Dense` 层的序列。它们是密集连接或全连接神经层。第一个 `Dense` 层有 128 个节点（或神经元）。第二个（也是最后一个）层会返回一个长度为 10 的 logits 数组。每个节点都包含一个得分，用来表示当前图像属于 10 个类中的哪一类。\n",
    "\n",
    "### 编译模型\n",
    "\n",
    "在准备对模型进行训练之前，还需要再对其进行一些设置。以下内容是在模型的*编译*步骤中添加的：\n",
    "\n",
    "- *损失函数* - 用于测量模型在训练期间的准确率。\n",
    "- *优化器* - 决定模型如何根据其看到的数据和自身的损失函数进行更新。\n",
    "- *指标* - 用于监控训练和测试步骤。以下示例使用了*准确率*，即被正确分类的图像的比率。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2020-09-22T22:12:59.305900Z",
     "iopub.status.busy": "2020-09-22T22:12:59.305168Z",
     "iopub.status.idle": "2020-09-22T22:12:59.313648Z",
     "shell.execute_reply": "2020-09-22T22:12:59.313029Z"
    },
    "id": "Lhan11blCaW7"
   },
   "outputs": [],
   "source": [
    "model.compile(optimizer='adam',\n",
    "              loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),\n",
    "              metrics=['accuracy'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "qKF6uW-BCaW-"
   },
   "source": [
    "## 训练模型\n",
    "\n",
    "训练神经网络模型需要执行以下步骤：\n",
    "\n",
    "1. 将训练数据馈送给模型。在本例中，训练数据位于 `train_images` 和 `train_labels` 数组中。\n",
    "2. 模型学习将图像和标签关联起来。\n",
    "3. 要求模型对测试集（在本例中为 `test_images` 数组）进行预测。\n",
    "4. 验证预测是否与 `test_labels` 数组中的标签相匹配。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "Z4P4zIV7E28Z"
   },
   "source": [
    "### 向模型馈送数据\n",
    "\n",
    "要开始训练，调用 `model.fit` 方法，这样命名是因为该方法会将模型与训练数据进行“拟合”："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2020-09-22T22:12:59.318028Z",
     "iopub.status.busy": "2020-09-22T22:12:59.317406Z",
     "iopub.status.idle": "2020-09-22T22:13:27.776764Z",
     "shell.execute_reply": "2020-09-22T22:13:27.777350Z"
    },
    "id": "xvwvpA64CaW_"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/10\n",
      "1875/1875 [==============================] - 2s 712us/step - loss: 0.5029 - accuracy: 0.8229\n",
      "Epoch 2/10\n",
      "1875/1875 [==============================] - 1s 737us/step - loss: 0.3775 - accuracy: 0.8638\n",
      "Epoch 3/10\n",
      "1875/1875 [==============================] - 1s 768us/step - loss: 0.3368 - accuracy: 0.8779\n",
      "Epoch 4/10\n",
      "1875/1875 [==============================] - 1s 716us/step - loss: 0.3154 - accuracy: 0.8828\n",
      "Epoch 5/10\n",
      "1875/1875 [==============================] - 1s 722us/step - loss: 0.2965 - accuracy: 0.8912\n",
      "Epoch 6/10\n",
      "1875/1875 [==============================] - 2s 862us/step - loss: 0.2817 - accuracy: 0.8961\n",
      "Epoch 7/10\n",
      "1875/1875 [==============================] - 2s 991us/step - loss: 0.2681 - accuracy: 0.9002\n",
      "Epoch 8/10\n",
      "1875/1875 [==============================] - 2s 863us/step - loss: 0.2593 - accuracy: 0.9027\n",
      "Epoch 9/10\n",
      "1875/1875 [==============================] - 2s 972us/step - loss: 0.2480 - accuracy: 0.9075\n",
      "Epoch 10/10\n",
      "1875/1875 [==============================] - 2s 918us/step - loss: 0.2411 - accuracy: 0.9107\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<keras.callbacks.History at 0x20d8cbba190>"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.fit(train_images, train_labels, epochs=10)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "W3ZVOhugCaXA"
   },
   "source": [
    "在模型训练期间，会显示损失和准确率指标。此模型在训练数据上的准确率达到了 0.91（或 91%）左右。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "wCpr6DGyE28h"
   },
   "source": [
    "### 评估准确率\n",
    "\n",
    "接下来，比较模型在测试数据集上的表现："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2020-09-22T22:13:27.782539Z",
     "iopub.status.busy": "2020-09-22T22:13:27.781787Z",
     "iopub.status.idle": "2020-09-22T22:13:28.408432Z",
     "shell.execute_reply": "2020-09-22T22:13:28.408868Z"
    },
    "id": "VflXLEeECaXC"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "313/313 - 0s - loss: 0.3433 - accuracy: 0.8771 - 163ms/epoch - 519us/step\n",
      "\n",
      "Test accuracy: 0.8770999908447266\n"
     ]
    }
   ],
   "source": [
    "test_loss, test_acc = model.evaluate(test_images,  test_labels, verbose=2)\n",
    "\n",
    "print('\\nTest accuracy:', test_acc)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "yWfgsmVXCaXG"
   },
   "source": [
    "结果表明，模型在测试数据集上的准确率略低于训练数据集。训练准确率和测试准确率之间的差距代表*过拟合*。过拟合是指机器学习模型在新的、以前未曾见过的输入上的表现不如在训练数据上的表现。过拟合的模型会“记住”训练数据集中的噪声和细节，从而对模型在新数据上的表现产生负面影响。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "v-PyD1SYE28q"
   },
   "source": [
    "### 进行预测\n",
    "\n",
    "在模型经过训练后，可以使用它对一些图像进行预测。模型具有线性输出，即 [logits](https://developers.google.com/machine-learning/glossary#logits)。可以附加一个 softmax 层，将 logits 转换成更容易理解的概率。 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2020-09-22T22:13:28.415524Z",
     "iopub.status.busy": "2020-09-22T22:13:28.414877Z",
     "iopub.status.idle": "2020-09-22T22:13:28.429164Z",
     "shell.execute_reply": "2020-09-22T22:13:28.428580Z"
    },
    "id": "DnfNA0CrQLSD"
   },
   "outputs": [],
   "source": [
    "probability_model = tf.keras.Sequential([model, \n",
    "                                         tf.keras.layers.Softmax()])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2020-09-22T22:13:28.433452Z",
     "iopub.status.busy": "2020-09-22T22:13:28.432773Z",
     "iopub.status.idle": "2020-09-22T22:13:28.763583Z",
     "shell.execute_reply": "2020-09-22T22:13:28.762953Z"
    },
    "id": "Gl91RPhdCaXI"
   },
   "outputs": [],
   "source": [
    "predictions = probability_model.predict(test_images)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "x9Kk1voUCaXJ"
   },
   "source": [
    "在上例中，模型预测了测试集中每个图像的标签。这里展示了第一个预测结果："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2020-09-22T22:13:28.768952Z",
     "iopub.status.busy": "2020-09-22T22:13:28.768178Z",
     "iopub.status.idle": "2020-09-22T22:13:28.770683Z",
     "shell.execute_reply": "2020-09-22T22:13:28.771097Z"
    },
    "id": "3DmJEUinCaXK"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([2.0224397e-06, 6.2929016e-11, 8.5286608e-08, 3.5815154e-10,\n",
       "       1.8568996e-07, 1.9470455e-02, 2.1809085e-07, 1.7476104e-02,\n",
       "       1.9349253e-07, 9.6305072e-01], dtype=float32)"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "predictions[0]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "-hw1hgeSCaXN"
   },
   "source": [
    "预测结果是一个包含 10 个数字的数组。它们代表模型对 10 种不同服装中每种服装的“置信度”。可以看到哪个标签的置信度值最大："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2020-09-22T22:13:28.775911Z",
     "iopub.status.busy": "2020-09-22T22:13:28.775158Z",
     "iopub.status.idle": "2020-09-22T22:13:28.777626Z",
     "shell.execute_reply": "2020-09-22T22:13:28.778122Z"
    },
    "id": "qsqenuPnCaXO"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "9"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.argmax(predictions[0])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "E51yS7iCCaXO"
   },
   "source": [
    "因此，该模型非常确信这个图像是短靴，或 `class_names[9]`。通过检查测试标签发现这个分类是正确的："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2020-09-22T22:13:28.782670Z",
     "iopub.status.busy": "2020-09-22T22:13:28.781924Z",
     "iopub.status.idle": "2020-09-22T22:13:28.784586Z",
     "shell.execute_reply": "2020-09-22T22:13:28.785005Z"
    },
    "id": "Sd7Pgsu6CaXP"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "9"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_labels[0]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "ygh2yYC972ne"
   },
   "source": [
    "可以将其绘制成图表，看看模型对于全部 10 个类的预测。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2020-09-22T22:13:28.793299Z",
     "iopub.status.busy": "2020-09-22T22:13:28.792625Z",
     "iopub.status.idle": "2020-09-22T22:13:28.794488Z",
     "shell.execute_reply": "2020-09-22T22:13:28.794918Z"
    },
    "id": "DvYmmrpIy6Y1"
   },
   "outputs": [],
   "source": [
    "def plot_image(i, predictions_array, true_label, img):\n",
    "  predictions_array, true_label, img = predictions_array, true_label[i], img[i]\n",
    "  plt.grid(False)\n",
    "  plt.xticks([])\n",
    "  plt.yticks([])\n",
    "\n",
    "  plt.imshow(img, cmap=plt.cm.binary)\n",
    "\n",
    "  predicted_label = np.argmax(predictions_array)\n",
    "  if predicted_label == true_label:\n",
    "    color = 'blue'\n",
    "  else:\n",
    "    color = 'red'\n",
    "\n",
    "  plt.xlabel(\"{} {:2.0f}% ({})\".format(class_names[predicted_label],\n",
    "                                100*np.max(predictions_array),\n",
    "                                class_names[true_label]),\n",
    "                                color=color)\n",
    "\n",
    "def plot_value_array(i, predictions_array, true_label):\n",
    "  predictions_array, true_label = predictions_array, true_label[i]\n",
    "  plt.grid(False)\n",
    "  plt.xticks(range(10))\n",
    "  plt.yticks([])\n",
    "  thisplot = plt.bar(range(10), predictions_array, color=\"#777777\")\n",
    "  plt.ylim([0, 1])\n",
    "  predicted_label = np.argmax(predictions_array)\n",
    "\n",
    "  thisplot[predicted_label].set_color('red')\n",
    "  thisplot[true_label].set_color('blue')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "Zh9yABaME29S"
   },
   "source": [
    "### 验证预测结果\n",
    "\n",
    "在模型经过训练后，可以使用它对一些图像进行预测。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "d4Ov9OFDMmOD"
   },
   "source": [
    "现在来看看第 0 个图像、预测结果和预测数组。正确的预测标签为蓝色，错误的预测标签为红色。数字表示预测标签的百分比（总计为 100）。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2020-09-22T22:13:28.807784Z",
     "iopub.status.busy": "2020-09-22T22:13:28.803669Z",
     "iopub.status.idle": "2020-09-22T22:13:28.917480Z",
     "shell.execute_reply": "2020-09-22T22:13:28.916839Z"
    },
    "id": "HV5jw-5HwSmO"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x216 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "i = 0\n",
    "plt.figure(figsize=(6,3))\n",
    "plt.subplot(1,2,1)\n",
    "plot_image(i, predictions[i], test_labels, test_images)\n",
    "plt.subplot(1,2,2)\n",
    "plot_value_array(i, predictions[i],  test_labels)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2020-09-22T22:13:28.926140Z",
     "iopub.status.busy": "2020-09-22T22:13:28.922636Z",
     "iopub.status.idle": "2020-09-22T22:13:29.041185Z",
     "shell.execute_reply": "2020-09-22T22:13:29.041596Z"
    },
    "id": "Ko-uzOufSCSe"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x216 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "i = 12\n",
    "plt.figure(figsize=(6,3))\n",
    "plt.subplot(1,2,1)\n",
    "plot_image(i, predictions[i], test_labels, test_images)\n",
    "plt.subplot(1,2,2)\n",
    "plot_value_array(i, predictions[i],  test_labels)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "kgdvGD52CaXR"
   },
   "source": [
    "让我们用模型的预测绘制几张图像。但需要说明的是，即使置信度很高，模型也可能出错。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2020-09-22T22:13:29.052639Z",
     "iopub.status.busy": "2020-09-22T22:13:29.051984Z",
     "iopub.status.idle": "2020-09-22T22:13:30.870944Z",
     "shell.execute_reply": "2020-09-22T22:13:30.871475Z"
    },
    "id": "hQlnbqaw2Qu_"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 864x720 with 30 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot the first X test images, their predicted labels, and the true labels.\n",
    "# Color correct predictions in blue and incorrect predictions in red.\n",
    "num_rows = 5\n",
    "num_cols = 3\n",
    "num_images = num_rows*num_cols\n",
    "plt.figure(figsize=(2*2*num_cols, 2*num_rows))\n",
    "for i in range(num_images):\n",
    "  plt.subplot(num_rows, 2*num_cols, 2*i+1)\n",
    "  plot_image(i, predictions[i], test_labels, test_images)\n",
    "  plt.subplot(num_rows, 2*num_cols, 2*i+2)\n",
    "  plot_value_array(i, predictions[i], test_labels)\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "R32zteKHCaXT"
   },
   "source": [
    "## 使用训练好的模型\n",
    "\n",
    "最后，使用训练好的模型对单个图像进行预测。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2020-09-22T22:13:30.876023Z",
     "iopub.status.busy": "2020-09-22T22:13:30.875338Z",
     "iopub.status.idle": "2020-09-22T22:13:30.877875Z",
     "shell.execute_reply": "2020-09-22T22:13:30.878309Z"
    },
    "id": "yRJ7JU7JCaXT"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(28, 28)\n"
     ]
    }
   ],
   "source": [
    "# Grab an image from the test dataset.\n",
    "img = test_images[1]\n",
    "\n",
    "print(img.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "vz3bVp21CaXV"
   },
   "source": [
    "`tf.keras` 模型经过了优化，可同时对一个*批*或一组样本进行预测。因此，即便只使用一个图像，也需要将其添加到列表中："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2020-09-22T22:13:30.882609Z",
     "iopub.status.busy": "2020-09-22T22:13:30.881952Z",
     "iopub.status.idle": "2020-09-22T22:13:30.884266Z",
     "shell.execute_reply": "2020-09-22T22:13:30.884679Z"
    },
    "id": "lDFh5yF_CaXW"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1, 28, 28)\n"
     ]
    }
   ],
   "source": [
    "# Add the image to a batch where it's the only member.\n",
    "img = (np.expand_dims(img,0))\n",
    "\n",
    "print(img.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "EQ5wLTkcCaXY"
   },
   "source": [
    "现在预测这个图像的正确标签："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2020-09-22T22:13:30.889038Z",
     "iopub.status.busy": "2020-09-22T22:13:30.888385Z",
     "iopub.status.idle": "2020-09-22T22:13:30.924591Z",
     "shell.execute_reply": "2020-09-22T22:13:30.924072Z"
    },
    "id": "o_rzNSdrCaXY"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[2.0628668e-05 1.1146188e-12 9.9712592e-01 2.6559656e-08 1.1398927e-03\n",
      "  7.6604759e-14 1.7135978e-03 7.2598794e-14 3.5249875e-10 3.5530742e-14]]\n"
     ]
    }
   ],
   "source": [
    "predictions_single = probability_model.predict(img)\n",
    "\n",
    "print(predictions_single)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2020-09-22T22:13:30.937161Z",
     "iopub.status.busy": "2020-09-22T22:13:30.934678Z",
     "iopub.status.idle": "2020-09-22T22:13:31.021514Z",
     "shell.execute_reply": "2020-09-22T22:13:31.020886Z"
    },
    "id": "6Ai-cpLjO-3A"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_value_array(1, predictions_single[0], test_labels)\n",
    "_ = plt.xticks(range(10), class_names, rotation=45)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "cU1Y2OAMCaXb"
   },
   "source": [
    "`keras.Model.predict` 会返回一组列表，每个列表对应一批数据中的每个图像。在批次中获取对我们（唯一）图像的预测："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "execution": {
     "iopub.execute_input": "2020-09-22T22:13:31.026731Z",
     "iopub.status.busy": "2020-09-22T22:13:31.025846Z",
     "iopub.status.idle": "2020-09-22T22:13:31.028921Z",
     "shell.execute_reply": "2020-09-22T22:13:31.029431Z"
    },
    "id": "2tRmdq_8CaXb"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.argmax(predictions_single[0])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "YFc2HbEVCaXd"
   },
   "source": [
    "该模型会按照预期预测标签。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "利用爬虫搜索网站的图片"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "正在下载第 1 张图片图片,地址: https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic210.nipic.com%2Ffile%2F20190315%2F27768602_141547247000_2.jpg&refer=http%3A%2F%2Fpic210.nipic.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1640334692&t=43a44a13cfa5d551a721b36e5f6e2b55\n",
      "下载结束\n"
     ]
    }
   ],
   "source": [
    "from urllib import error\n",
    "import requests\n",
    "import re\n",
    "from bs4 import BeautifulSoup\n",
    "import os\n",
    "def download(html):\n",
    "    num=0\n",
    "    #解析网页\n",
    "    pic_url=re.findall('\"objURL\":\"(.*?)\",',html,re.S)  # 用正则表达式找到图片url\n",
    "    for j in pic_url:\n",
    "        print('正在下载第 %d 张图片图片,地址: %s' %(num+1,j))\n",
    "        if j is not None:\n",
    "             pic=requests.get(j, timeout=5) #超时异常判断 5秒超时\n",
    "        else:\n",
    "            continue\n",
    "        string=word+'_'+str(num+1)+'.jpg'\n",
    "        fp=open(string,'wb')\n",
    "        fp.write(pic.content)\n",
    "        fp.close()\n",
    "        num+=1\n",
    "        if num>=pic_num:\n",
    "            break\n",
    "word=input('请输入你要下载的关键词: ')\n",
    "pic_num=int(input('请输入图片的下载数量: '))\n",
    "url='https://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word='+word+'&pn='\n",
    "headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36 SLBrowser/7.0.0.6241 SLBChan/23'}\n",
    "# 发起请求\n",
    "response=requests.get(url, headers=headers)\n",
    "#解析网页\n",
    "html=response.text\n",
    "download(html)\n",
    "print('下载结束')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " ALL WORK DONE !"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 总结：\n",
    "本次报告用到了Tensorflow，并且需要借助爬虫方面的知识。关于爬虫的用法，这次其实仅仅是一个入门，不过好在网上有很多博客和视频对它进行了详细的介绍，以后如果还要用到的话，可借鉴的资源相对比较丰富。另一方面，通过此次的报告，我发现对图像处理至关重要，但是和爬虫一样，此次仅仅学到了一些皮毛，以后如果要深入使用的话还有很长的路要走。\n",
    "其实对于我本人而言，我比较熟练而且平时用的比较多的语言是Fortran和C，但是借助这次机会，我还把python也学习了一遍，感谢布老师，感谢学院开设这门课程，我受益匪浅，谢谢。"
   ]
  }
 ],
 "metadata": {
  "colab": {
   "collapsed_sections": [],
   "name": "classification.ipynb",
   "toc_visible": true
  },
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
